Проблема 10000 года

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Пробле́ма 10000 го́да — собирательное название для предполагаемых проблем, которые могут возникнуть при работе с программным обеспечением, для представления года, в датах которого используются только 4 цифры. Такой подход может привести к ошибкам и сбоям при переходе от 9999 года к 10000 году.

Проблема 10000 года стала обсуждаться в прессе в последние годы XX века в связи с надвигавшейся проблемой 2000 года. Большинство публикаций были пародийно-юмористическими, поскольку проблема 10000 года сейчас представляется скорее теоретической, нежели практической. Однако нельзя исключить, что часть использующегося уже написанного программного кода может в каком-то виде «дожить» и до 10000 года.

В некоторых случаях обработка дат за пределами 10000 года может понадобиться уже сейчас — например, в программах, оценивающих проекты долгосрочного хранения ядерных отходов[1].

Суть проблемы заключается в том, что при переходе в 10000 год системы сочтут это как 0000 год, то есть 1 год до нашей эры. Кроме того, все системы сочтут это, скорее всего, как −59949936000 секунд (начиная с 1 января 1901 года)[2].

Другие аналогичные проблемы

Иногда упоминаются «проблема 100 000 года», «проблема 1 000 000 года» и т. д.

В системе Windows API структура SYSTEMTIME использует 16-битное поле для хранения номера года; при этом в документации указано, что допустимыми значениями являются 1601—30827[3].

Ссылки

  • RFC 2550: Y10K and beyond — опубликован в 1999 в качестве первоапрельской шутки; тем не менее, содержит потенциально полезные идеи. (англ.)

Примечания

  1. Alan F. Kay and Hazel Henderson. Millennium Bug: New Y2K Survey Finds Americans Ready To Do Their Bit-Because They Don't Trust Government or Business (недоступная ссылка). American Talk Issues. Market Strategies, Inc. (September 1998). Архивировано 13 ноября 2006 года.
  2. Эти данные представлены студией TableStudio и могут являться не точными.
  3. MSDN: Time Structures